//package com.inspur.edp.cef.generator.coreGenerator.entityGenerator.serializer;
//
//
//import com.inspur.edp.caf.generator.baseInfo.TypeInfo;
//import com.inspur.edp.caf.generator.item.ClassGeneratorContext;
//import com.inspur.edp.caf.generator.method.ClassMethodGenerator;
//import com.inspur.edp.cef.gencommon.MediateType;
//import com.inspur.edp.cef.generator.coreGenerator.base.serializer.DataTypeSerializerGenerator;
//import com.inspur.edp.cef.generator.coreGenerator.base.serializer.nestedserialize.GetNestedSerializeContextMethodGen;
//import com.inspur.edp.cef.generator.coreGenerator.base.serializer.WriteModifyPropertyJsonGenerator;
//import com.inspur.edp.cef.generator.coreGenerator.entityGenerator.entityGenerator.EntityImplGenCtx;
//import com.inspur.edp.cef.generator.overall.Utils;
//import com.inspur.edp.cef.spi.jsonser.entity.AbstractEntitySerializerItem;
//
//public class EntityDataSerializerGenerator extends DataTypeSerializerGenerator {
//
//  protected EntityImplGenCtx getNodeGenContext() {
//    return (EntityImplGenCtx) super.dataTypeGenCtx;
//  }
//
//  public EntityDataSerializerGenerator(EntityImplGenCtx nodeGenContext) {
//    super(nodeGenContext);
//  }
//

//  // keyword:
//  // ORIGINAL LINE: private new EntityDataSerGenContext getContext() { return
//  // (EntityDataSerGenContext)((super.getContext() instanceof EntityDataSerGenContext) ?
//  // super.getContext() : null); }
//  @Override
//  public EntityDataSerGenContext getContext() {
//    return (EntityDataSerGenContext)
//        ((super.getContext() instanceof EntityDataSerGenContext) ? super.getContext() : null);
//  }
//
//  @Override
//  protected ClassGeneratorContext createClassInfoContext() {
//    return new EntityDataSerGenContext(getNodeGenContext());
//  }
//
//  // protected override List<ModifierKeyword>  getAccessModifier()
//  // {
//  //    return new List<ModifierKeyword>() { ModifierKeyword.PUBLIC_KEYWORD };
//  // }
//
//  // protected override string  getName()
//  // {
//  //    return string.Format("{0}SerItem", nodeGenContext.CommonObject.getCode());
//  // }
//
//  // protected override string  getNameSpace()
//  // {
//  //    return nodeGenContext.EntityGenContext.DefaultNamespace;
//  // }
//
//  @Override
//  protected TypeInfo setParentClass() {
//    return Utils.createTypeInfo(AbstractEntitySerializerItem.class);
//  }
//
//  @Override
//  protected java.util.ArrayList<ClassMethodGenerator> createMethodGenerators() {
//    java.util.ArrayList<ClassMethodGenerator> list =
//        ((super.createMethodGenerators()) != null)
//            ? super.createMethodGenerators()
//            : new java.util.ArrayList<ClassMethodGenerator>();
//
//    addGetNestedSerializeContextMethod(list);
//    list.add(
//        new com.inspur.edp.cef.generator.coreGenerator.entityGenerator.serializer.WriteEntityBasicInfoGenerator(
//            getContext()));
//    list.add(
//        new com.inspur.edp.cef.generator.coreGenerator.entityGenerator.serializer.ReadEntityBasicInfoGenerator(
//            getContext()));
//    list.add(new WriteModifyPropertyJsonGenerator(getNodeGenContext()));
//    list.add(
//        new com.inspur.edp.cef.generator.coreGenerator.entityGenerator.serializer.ReadModifyPropertyValueGenerator(
//            getContext()));
//
//    return list;
//  }
//
//  private void addGetNestedSerializeContextMethod(java.util.ArrayList<ClassMethodGenerator> list) {
////    if (!this.getNodeGenContext().coreGenContext.getEnableStdDateTime()) {
////      return;
////    }
//    list.add(new GetNestedSerializeContextMethodGen(dataTypeGenCtx));
//  }
//
//  @Override
//  protected void afterGenerate() {
//    super.afterGenerate();
//    if (getContext().getNodeGenContext().getCommonObject().getParentObject() == null) {
//      getContext().getNodeGenContext().coreGenContext.setChangeSerializerType(
//          new MediateType(super.compileUnit.getPackageName(), getName()));
//    } else {
//      getContext().getNodeGenContext().coreGenContext
//          .getChildChangeSerializerType()
//          .put(
//              getContext().getNodeGenContext().getCommonObject().getCode(),
//              new MediateType(super.compileUnit.getPackageName(), getName()));
//    }
//  }
//}
